Task: Refinar a Arquitetura
Refine a arquitetura para um nível apropriado de detalhe para suportar o desenvolvimento.
Disciplines: Arquitetura
Relationships
Main Description

Esta tarefa constrói o trabalho executado durante a Task: Descrever a Arquitetura. O objetivo é tomar as decisões arquiteturais necessárias para suportar os objetivos da iteração atual do projeto. As decisões tomadas como parte desta tarefa são concretas e inequívocas. Elas são capturadas no Caderno de Arquitetura e comunicadas à equipe.

Esta tarefa é aplicada iterativamente; as iterações posteriores a primeira necessitarão levar em consideração os produtos do Design e da Construção que forem desenvolvidos.

Steps
Identifique os elementos de design arquiteturalmente significantes

Refine as principais abstrações em elementos concretos de design (tais como classes e subsistemas) e forneça pelo menos um nome e uma descrição resumida para cada um. Adicione-os ao Design.

Refine os mecanismos arquiteturais

Refine cada mecanismo arquitetural priorizado em um estado de design (veja Concept: Mecanismo Arquitetural.

Revise os requisitos da iteração atual para identificar quais mecanismos precisam realmente ser entregues no software. Trabalhe com os Desenvolvedor para que eles refinem os mecanismos para um estado de implementação.

Associe o software ao hardware
Associe os elementos de design arquiteturalmente significantes ao ambiente definido para implantação. Trabalhe com os especialistas de rede e hardware para assegurar que o hardware seja suficiente para atender as necessidades do sistema; e que qualquer hardware novo esteja disponível a tempo.
Defina a arquitetura de desenvolvimento e a arquitetura de teste

Assegure-se de que as arquiteturas de desenvolvimento e de teste estejam definidas. Identifique qualquer diferença arquiteturalmente significante entre estes ambientes e trabalhe com a equipe para planejar estratégias para atenuar qualquer risco que eles possam gerar.

Atualize a arquitetura

Atualize o Caderno de Arquitetura para refletir qualquer mudança feita durante o desenvolvimento.

Valide a arquitetura

Assegure-se de que a arquitetura suporte os requisitos e as necessidades da equipe.

Algum trabalho de desenvolvimento deve ser executado para produzir uma Construção que mostre que a arquitetura de software é viável. Isto deve fornecer a base definitiva para validar a viabilidade da arquitetura. Como o software deve ser desenvolvido de forma iterativa, mais de um incremento da construção pode ser necessário para provar a arquitetura. Durante os estágios iniciais do projeto pode ser aceitável que o software tenha uma aparência incompleta ou prototípica, porque será considerado inicialmente como linha base da arquitetura para fornecer uma base estável para o trabalho de desenvolvimento restante.

Comunique as decisões

Assegure-se de que aqueles que necessitam agir sobre o trabalho arquitetural compreendam-no e possam trabalhar com ele. Certifique-se de que a descrição da arquitetura explica claramente não somente a solução, mas também a motivação e os objetivos relacionados às decisões que foram tomadas na elaboração da arquitetura. Isto tornará mais fácil aos outros a compreensão da arquitetura e sua adaptação no tempo.

Key Considerations

O arquiteto deve executar esta tarefa com a colaboração de toda a equipe para promover consenso e compreensão comum de toda a solução. O arquiteto deve trabalhar para coordenar e guiar as atividades técnicas da equipe, ao invés de procurar fazer todo o trabalho sozinho. O arquiteto deve colocar ênfase no envolvimento dos desenvolvedores durante toda esta tarefa.

More Information